home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
roldx_jw
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
45KB
From: Jim Weisbin <73457.3462@CompuServe.COM>
Subject: v05i047: roldx4_jw - Roldx v4.1, Part01/01
Newsgroups: comp.sources.hp48
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu
Checksum: 2659131023 (verify with brik -cv)
Submitted-by: Jim Weisbin <73457.3462@CompuServe.COM>
Posting-number: Volume 5, Issue 47
Archive-name: roldx4_jw/part01
BEGIN_DOC roldx.doc
version 4.1 26-06-92 JsW
Roldx for the HP48 by James Weisbin, portions of code by
Simone Rapisarda, and Jim Cloos (many thanks).
Revisions to Roldx version 4.1 from version 4.0:
1. I have reritten disp1, disp7, and findx for faster
performance, more elegant code, and eliminated the
findx bug which caused the search to be terminated
if a null list was encountered. Also, the arguments
required by findx, and its output, have been revised.
2. Fixed a bug in the DATA program which caused it to
fail if unassigned menu keys were pressed.
3. Fixed a "feature" of CODER, which caused it to crash
when fed a null string to encode/decode.
Revisions to Roldx version 4.0 from version 3.2:
1. I have rewritten the display and search routines,
as well as some other bits, in System-RPL. This
has allowed me to abandon the use of Rick Grevelle's
MDISP, which saves almost 3K of memory over version
3.2. The display routines are not quite as fast as
MDISP, but seem adequate as they are now.
2. I have written the main search routine (findX)
in System-RPL for much more speed. Where, formally,
it took over 55 seconds to traverse a 14K data file,
it can now take less than 13 seconds, depending on
whether lock mode is off or not.
3. I've added a trap to the beginning of the program
(chkPAR) which checks for the proper variables in
the current directory (see below). This now makes
it possible to easily run the program as a library.
I've also included all the necessary $variables in
directory, so you can just run the directory through
one of the library creation utilities to create a
library. I've used the number 1765, but you can
change it to anything you want, within range (store
$ROMID). Note that the program is still distributed
as a directory, and will run just fine that way, but
you may wish to save approximately 7K in main ram by
changing the program to a library and running it
from a ram card/port.
4. The display routines can now handle lists which are
empty, but the routine to create a new item still
makes entries of 7 items (8 if password protected)
and the routine to insert from the stack checks that
the list has at least one entry. You can, however,
insert empty lists by editing the list outside of
Roldx. I've only added this feature to try to make
the program more robust.
WARNING AND DISCLAIMER: The system-RPL routines used here have
been written by myself and have been tested on my Rev.B HP48SX
only - no guarantees are made that they will always work correctly
or that they will work on any other machine. PLEASE BACK UP YOUR
CALCULATOR'S MEMORY BEFORE USING THIS SOFTWARE. I will not be
responsible for loss of data, etc.
Yet another rolodex program for the HP48. After sampling the various
rolodex-type programs out there, I decided I needed to write my own.
This one is written mostly in user code, with the exception of the display
and search routines, which I wrote in system-RPL, the CODER program
(written in system-RPL by Simone Rapisarda and Jim Cloos), the UPCASE
program (author unknown) and some other routines by myself. It has many
features that other rolodex programs lack, like the ability to view only
the "headings" of up to 8 entries at once (in fact, any line number can
be selected), password protection for individual items, etc. PICT is
not used, so it is not overwritten, and this keeps the speed up to a
reasonable standard. The database structure is "free form" in the sense
that you can store anything you like on any line, an "item" being a
collection of fields in a list. Up to seven fields of 22 characters
each can be displayed, or eight fields if the menu line is turned off.
If a line contains more than 22 characters, it will be truncated
(well, you can't have everything!). The 48 can display 7 lines of
text quickly with a minimum of fuss and I find this to be adequate
room to store name, address, phone, fax, and email data. The program
is distributed as a directory, but can be converted to a library, if
desired. To run the program, make sure the Roldx directory is your
current directory (or the directory where your data is stored is the
current directory, if you are using Roldx as a library), then press
ROLDX to start. You will see a screen with all 7 lines of the current
item, which will be a picture of Bart Simpson if you are just loading
it for the first time. You can't delete the first item if there are no
others, but you can edit it (or exit the program, put the list on the
stack, and edit it using normal HP48 methods). You will also see a menu
with the following items:
FIND FIND text prompted for. If one character only,
only the 1st character of the line selected
is checked for a match. If more than one
character, a match is sought in any
position. Only the line number set by the
variable rdLINE is searched. Case is ignored
in the search (all text is temporarily
converted to uppercase by the UPCASE routine).
If lock mode is "on" (flag 39 clear) then
password protected items won't be found.
STATUS find out about and change settings. Brings up
the following menu:
LINE? |---> ==== >-- ? DATA MAIN
The first menu key prompts you for the line
number to search, and display if flag 34 is
set. The second key toggles flag 34 and
whether the database is searched from the
top or from the current item to the end.
The third menu key toggles flag 34 and
whether one line of each item, or seven or
eight lines of the current item are displayed.
The fourth menu key (picture above is supposed
to look like a key) toggles lock mode. When
toggling it "on" you will be prompted for the
password. There is no "wrong" password, but
your data will be garbled unless you use the
same one you used when you encoded it. The
fifth menu key (DATA) allows you to select
a name from the list rdLIST. You must add the
names of all data lists to this list though,
while outside of the ROLDX program. The last
menu key returns you to the main screen.
HELP brings up a short help screen.
->STK put the current item on the stack.
STK-> insert an item from the stack. (Must be a list
with at least 1 item).
EXIT quit this program.
In addition to the menu keys above, the following key-
presses are supported:
right-arrow, down-arrow, NEXT next item.
up-arrow, left arrow, PREV previous item.
left-shift right-arrow & down-arrow next 7th (or
8th) item.
left-shift left-arrow & up-arrow prev 7th (or
8th) item.
right-shift right-arrow & down-arrow go to last item.
right-shift left-arrow & up-arrow go to first
(top) item.
ENTER toggle flag 34 display mode - see
below.
EDIT
or +/- all lines must be processed, an empty
string is OK. Pressing the ATTN (ON)
key quits edit mode, discarding all
input.
+ add an item after the current item.
* turn off the menu bar, so up to 8
lines can be displayed (see flag 32
below)
DEL or - delete the current item (you can't
delete 1 of 1)
right-shift OFF pauses program and turns the machine
off, turning password protection
(lock mode) back on in the process.
(This is to prevent someone from
accessing your password and data
while the machine is off). The 48
will beep when restarted, and resume
the operation of Roldx.
shift-PRINT print current item.
any other key exit program.
There is no sorting provided, but you can use ->STK,
STK->, and DEL to move things around. (If you have
Donnelly's Toolkit library, you can use LSORT - see
below). The data format makes it fairly easy to transfer
data to a PC and edit it there - you must use ASCII mode
to transfer it.
The following global variables must be present in the
current directory, and are provided with the listing.
However, with the exception of rdLIST, they are hidden.
To unhide them, execute #15777h SYSEVAL PURGE while in
the Roldx directory. Normally, you should not need to
unhide them.
rdLIST a list containing names of any data lists you
have to choose from. Any number of names can
be in the list, but only up to 6 names can
be displayed by Roldx.
rdNAME a global containing another global which
points to the roldx data list. For example, if
the name of your data list is LIST1, then
'rdNAME' should contain the global 'LIST1',
*not* the list itself! This way, you can
maintain several databases, storing their
names in rdNAME as and when needed. The format
of the data list is a list of lists, each
inner list containing at least 1 item, which
can be an empty string. The program will not
create a new list if one is not present, so
you should modify the one I have provided,
called LIST1. The data list must be in the
Roldx directory!!! The program DATA makes the
job of changing data lists fairly painless.
(see below).
rdSIZ the number of entries (lists) in the data
list.
rdPOS number of the current item to display.
rdLINE number of the line to search on, and the
number of the line which gets displayed when
displaying only the headings (flag 34 set).
rdTXT the last text sought by the FIND command (can
be a null string).
The settings of user flags 32, 33, 34, and 39 are as follows -
use the STATUS menu key to enter status mode and change the
settings (changing the flags outside the program will have no
effect):
Flag 32 if clear, the menu line is displayed, plus (up
to) 7 lines of text. If set, the menu line is
not displayed, allowing 8 lines of text.
Flag 33 if clear, the FIND command searches from the
current position in the list, if set, it
searches from the beginning, which can be very
slow for large databases. Note that only the
line number in rdLINE is searched (searching
all lines would be too slow - perhaps a future
version will overcome this). The search mode
used is sequential, rather than binary.
Flag 34 if clear, display all lines of each item, if
set, display only one line of each item, for a
total of seven items on each screen, or eight
if the menu line is off. With flag 34 set, the
line displayed for each item is the value of
rdLINE. When flag 34 is set, using left-shift-
arrows will scroll ahead or back by exactly 7
(flag 32 clear) or 8 (flag 32 set) items.
Flag 39 when clear, lock mode is on and individual
items which are password protected will appear
garbled. When set (this must be done from the
status menu, and the password given), the
items will be readable only if the password
given was the correct one, otherwise they will
appear garbled.
All flags default to clear when Roldx is started.
The programs HELP, STATUS, and DATA will also work when
outside of the ROLDX program, however, if you use STATUS
on its own, then some of the settings reflected or change
will not take effect while inside Roldx, since all flag
settings default to the values listed above when running
the program. Also, if you hit the LOCK key, and give a
password, this password will be stored in a global variable
'pwrd' and will NOT be purged until the next time that you
run Roldx. Therefore, it is advisable that you purge the
variable yourself, or run Roldx immediately, to ensure that
no one has access to your password.
Miscellaneous notes:
Some of the routines are appropriate for general use.
These are as follows (see note above to unhide):
CODER Written by Simone Rapisarda and Jim Cloos.
Put string to encode or decode in level 2,
password string in level one. The program
works like this:
If the string to decode is longer than the
password, the password is repeatedly
concatenated to itself until its length
equals or exceeds the string. The two strings
are then XOR'd, in system-RPL. Simple, but
effective! My thanks to Messieurs Rapisarda
and Cloos for this great program.
bell an error bell - edit to anything you want, as
long as it can be evaluated, and leaves the
stack unchanged.
UPcase change case of characters between "a" and "z"
to uppercase. Machine language routine by
unknown author (my apologies).
findX The search routine can be used standalone, but
I don't recommend it. It takes, as arguments,
the text to search for in level three, the
list to search in level two, and the
starting position in level one. If the search
is successful, the number of the item found
will be in level one, otherwise there will be
a 0 in level one. The settings of flags and
rdTEXT are respected.
disp1
disp7 the display routines can be used as stand-
alone, but again, I don't recommend it. Both
routines expect a list in level one.
Warning: some of the routines, particularly err and bell,
are used by system-RPL programs and MUST be found in the
current directory (this is not a problem if the program
is converted to a library). If you erase them, or other-
wise tamper with them, you may have a memory loss. This
is why I've hidden them.
As noted above, if you want to sort the data list, you
can use Donnelly's LSORT. Put the list on the stack and
press OBJ->, then enter the number of the line you want
to sort on (usually will be 1), then press LSORT from the
TLLIB menu. Note that this will sort on the first letter(s)
of each line so it is not really appropriate if you put
surnames last (in other words, if you put surnames last,
you will be sorting on first names). You can edit each
item outside of the ROLDX program by using ->STK, then
edit it with the normal 48 object editor, then run ROLDX
again and use STK->. If the stack does not contain a list
with at least 1 item, an error will be generated. To move
an entry from within Roldx, execute ->STK, DEL, (move to
the item you want it inserted after), STK->.
Some may ask why I put the program's dynamic parameters
(like rdPOS, for example) in separate global variables,
rather than in a parameter list. The answer is SPEED! The
48 can evaluate a global variable at least twice as fast as
GETting a list item, and this can make a big difference in
speed. I tried to write a system-RPL routine to copy out the
parameters from a single parameter list, but still found
there to be too much of a delay when started and finishing
the program. Perhaps I will fix this in a future release.
To turn the program into a library, number 1765, simply run
the directory through one of the library creation routines.
All the necessary $config variables are in the directory as
distributed, and the program will run fine as a library -
but you must remember to start the lib from the directory
where your data resides. If you don't, Roldx will simply
create a new list called LST1, which has been included in
the distribution. you can edit this, or substitute your own
and discard it. Also, remember to attach the lib either to
your home directory or to your current directory. No auto-
config has been provided.
The following programs have been written in system-RPL in
this version:
chkPAR, disp1, disp7, dispS, findX, help, MNU2,
working, ->st7, ->stk.
I will post the source code separately.
As distributed, the directory is 8158.5 bytes.
Again, please, PLEASE, please remember to back up your data
BEFORE running these programs. All comments and suggestions
are welcome. I want to thank Detlef Mueller, whose RPL
compiler/decompiler is fantastic. He's a true wizard of the
HP48. Also, many thanks to the HP development team and
Bill Wickes in particular, for creating the best handheld
computer ever.
email: 73457.3462@compuserve.com (James Weisbin)
END_DOC
BEGIN_ASC roldx41.asc
%%HP: T(1);
"69A205E6D87300000040D837477340D9D2051A8184E20602746E414D45484E20
50274605F435FDE81E3C46D9D20AEC819FF306C4262C230B7650AB42688130F2
1409DE3653040B2040CBD3012850F6A36C2A16DEE32B2130B21303A00040D837
47B640D9D2051A8184E20602746E414D45484E2050274605F435FDE81E3C46D9
D20AEC819FF306C4262C230B7650AB4266B650B3A169E550B2130B2130080005
0D85646964750D9D20E163233920100000000000053033920100000000000063
05D2C15D2C13392010000000000008206911278BF18B9C11C432D6E201016D6E
201037E1632FD332D9D20D6E201016D6E2010376C7D184E2040C43686273CE22
167E1AFE22D9D20339201000000000000630472C145632D6E20103797632AA90
28DBF1B21305DF2247A20B21309C2A2D6E2010370A132D6E201087C2A20F0000
C496E65602D6E20108776BA1D6E201016D6E2010876C7D184E2050D836F64656
84E2010C8ED2A2387C1FD332AC422F1732D9D203F2A246CF1C2A20F100094E60
75747021626F627475646933A1B21305BF22D9D2084E2050D836F6465676BA1B
21305DF22C42323392010000000000006303CE22313C1AFE22D9D2084E2040C4
36862776BA1B21305DF22B2130F1732D9D20339201000000000000530472C1C2
A205000084E2030562727B21305DF22EF53293632B2130FA20050D836F646565
0D9D20E1632339201000000000000630313C1339201000000000000930313C13
CE22387E1AFE22D9D2084E20400777274684E205034F4445425B21305DF22936
32B2130490007077F627B696E67670D9D2051A81CA031FC2E4C2A20520000202
0202020275F627B696E676E2E2E2B8421F2293B2130F50006055053616375660
D9D20ECE81D0040D9D2075660CCD20380008FB9760147134164146819F2CECE8
AAE4D71643106AE514A9EC0331B79EAD131FD9EAE1317F9625131FF962C0310E
A6A148161CF8AF2C8F2D760142164808CB2130B2130BB0003047F60730D9D20E
16329C2A24563284E2050274605F43597632DCC0293632B213034000504564C4
147450D9D20E163278BF13CE22313C1AFE225D2C15BF22472C15DF2293632B21
30A4000403747B6D840D9D20E163244CF11C432D6E201046E163233920100000
00000005305D2C1FD332D9D2078BF178BF168BC1D13A2D9AE192CF18B9C19C2A
2EBBE13CE22908E1AFE22D9D20C2A20F200094E66716C6964602F6270256D607
479702C6963747933A1B21305DF2284E205096E63727478DBF1B2130F1732D9D
20339201000000000000530472C1C2A205000084E203056272744CF1D6E20104
690DA146CF1B21305DF22EF53293632B2130D510060274694E4944560D9D20E1
63284E2050274605F4359C2A217CB14563284E2050274605F43597632DCC0284
E20602746E414D4548B9C178BF14563284E205027463594A597632DCC0284E20
50274605F4353ECB14563284E2050274605F43597632DCC0293632B21302D000
400727677340D9D20E163284E2050274605F435743A233920100000000000023
0313C176BA190DA19C2A217CB14563284E2050274605F43597632DCC0293632B
21304800050072796E64750D9D20E16324AEE184E2040D83747B6B7FC11C432D
6E201037E163278BF184E2040C4368627167E1339201000000000000930313C1
3CE22387E1AFE22D9D208DBF1D6E2010379C2A290DA19C2A20A132D6E201087D
6E2010875BCF184E20400777274684E205034F444542535EE18DBF1683A20833
2B21305BF22D9D20D6E2010379C2A20A132D6E201087D6E2010875BCF135EE18
DBF1683A208332B21305DF22EF53293632B2130E5100400727566740D9D20E16
324563284E2050274605F43597632AA9029C2A217CB14563284E2050274605F4
3597632DCC0293632B2130A600030F6666630D9D20E163284E2040C6F636B6E1
3A184E20402656C6C693632B21301400040E687477340D9D20E163284E205027
4605F435743A2339201000000000000230313C176BA176BA184E205027463594
A53ECB14563284E2050274605F43597632DCC0293632B21300900040E6568747
40D9D20E16324563284E2050274605F435976324F80284E205027463594A53EC
B14563284E2050274605F43597632DCC0293632B21306700040D4E4553340D9D
20E1632E4A20510005100000000000000E4A20510008000000000000000614E1
1C432D6E201026E1632D6E201026C2A20B0000955435D6E20102678BF1C2A209
0000E4F4D6E201026233A2387C1EF53293632B21309B00040D4E4552340D9D20
51A81C2A20F0000C494E454F3931409DE36E1B20F30008000051000000000100
020100040100080FFFFF1100080100040100020E1B20F3000800005100000000
0FFDFD1FFDFB1FFDF71FF1000FFDF71FFDFB1FFDFD1341409DE36E1B20F30008
000051000000000CFF0000000000FF3000000000CFF0000000000FF30E1B20F3
0008000051000000000FFFFF1F308F1FFFFF1F308F1FFFFF1F308F1FFFFF1571
409DE36E1B20F300080000510000000600000608100604200604EF36042A2008
10260000060E1B20F30008000051000000000FFFFD17EFFA1BDFFB1B10CD1BD5
DD17EFDF1FFFFD1C2A20D000044144514C2A20D0000D41494E4B204095450B21
303120040D4E455134047A20C2A20D00006696E646C2A2011000374716475737
C2A20D00008656C607C2A20D0000D83747B6C2A20D00003747B6D8C2A20D0000
56879647B21306800040C6F6B6F340D9D20E1632858A1C2A2051000020202020
202020284E2040C436862776BA13F2A2485A1C2A20F10000202020202020202C
4F636B6F3803A2485A184E2040D4E4553384E2060765647B6569733920100000
00000012103CE22279E1AFE22D9D204563284E2040077727469763282EC1ED2A
23CE22D9AE1AFE2284E2040765647075DF22339201000000000000930472C1B2
1305BF2284E2040C6F636B65DF2293632B21304510040C6F636B640D9D20E163
2858A13392010000000000009305D2C147A2084E204007772746B2130EFE0293
632B2130D500040C436862740C2A20B000068DACAC10005096E637274750D9D2
0E163284E20602746E414D4541C432D6E201016E163284E207077F627B696E67
6D6E2010169C2A284E2050274605F435C58C1DBBF19C2A2387C176BA1D6E2010
164563284E2050274605F435976324F80284E205027463594A5C58C176BA1456
3284E20602746E414D4549763204B02DCC0284E2060274694E49445EF5329363
2B213081100407656470740D9D20E1632339201000000000000930313C145632
84E2040077727469763282EC1ED2A2279E1387E184E204007772746C2A205000
0D9AE1387E13CE22AFE2284E2040C6F636B65BF22D9D20339201000000000000
82069112C2A20710000516373777F62746F347A20C2A205000084E2010C8B213
0FD332AC422F1732D9D203FBF1C2A2050000B21305DF2278BF1C2A20500003CE
22D9AE1AFE22D9D204563284E20400777274697632DCC0233920100000000000
0930472C1B21305BF22D9D208DBF184E2040C6F636B6B21305DF22B21305DF22
93632B2130FB10060765647C696E660D9D20E1632858A1C2A20D1000C496E656
02E657D6265627F3C2A207000013FD332AC422F1732D9D20DBBF18DBF1B21305
DF22B7FC1F0CB19C2A217CB14563284E20602746C494E45497632DCC0293632B
21305B00060765647B6569760D9D20E1632D5112FD332D9D20683A2F17A1B213
0F1732D9D208DBF14B2A2B21305DF2293632B213006000506696E6468550D9D2
086A810FE811192013500D9D20FEF30E9016B7E2684E20605505361637565923
0F6A36EF116F655057B308DA16B4F06D9D205AC26B765062E269FF306C4267F3
70CA13012270C9B26112262FA30CB916DEE32F6A36CB916D9D20E3D40DEE32B2
130881301323684E20602746C494E454AEC819FF306C426AB426C9B268804132
230571409DE36D9D2013236C9B268804184E2040C436862779B3084E20400777
27464512619C268DA1684E205034F444542544230B21304423084E2060550536
1637562C2306365058336CB916D9D20DE050C5746B2130322309FF301B5467CC
30CB916D9D2012F0612270CAF06F0046B21304337085230B2130FBD81B2130B2
13051200406696E64640D9D20E163244CF1339201000000000000330313C19C2
A284E2050274605F435EF3A11C432D6E201046D6E2010E6E1632FD332D9D2085
8A1C2A20F00006496E646A34563284E205027464585459763278BF182EC1ED2A
23CE22D9AE1AFE22D9D20C2A205000078BF1E0CF1DCC02B21305BF2204B025DF
2284E2010C8ED2A2387C1FD332AC422F1732D9D204B2A2933A1B21305DF2278B
F14563284E2050274645854597632DCC02C2A20500003CE22D9AE1AFE22D9D20
C2A203200035561627368696E67602C696E6560284E20602746C494E45476BA1
C2A20D0000E2E2E2A076BA1C2A20F00006427F6D60276BA1D6E2010E676BA1C2
A20D00000247F60276BA184E205027463594A576BA1803A2485A184E20602746
E414D45484E20502746458545D6E2010E684E20506696E646853CE2278BF1AFE
22D9D204563284E2050274605F43597632DCC02B21305BF22D9D208DBF1858A1
C2A205200035472796E67602E6F6470266F657E64684E2030562727B21305DF2
2B21305DF22B2130F1732D9D2044CF1D6E20104690DA146CF1C2A20720003556
1627368602475627D696E61647564684E2030562727B21305DF22EF53293632B
2130C73003056272730D9D20E1632858A178BF1C2A20500003CE22279E1AFE22
D9D208DBF13A3A1B21305DF229C2A2485A184E20402656C6C6C2A20520000527
5637370216E69702B65697E2E2E2ED2A2485A1743A24A5A1FD332D9D204B2A2F
17A1B2130F1732D9D208DBF14B2A2B21305DF228DBF193632B2130DE0005056D
607479750D9D20E16329C2A2743A230132C2A2050000C423284E2040C6F6B6F3
3392010000000000009303CE22313C1AFE22D9D2084E2040C4368627C53A2B21
305BF22743A25DF22387C193632B21305A000405646964740D9D20E163284E20
40D83747B684E2050D8564696473392010000000000005303CE22063C1AFE22D
9D2084E207077F627B696E6764563284E20602746E414D4549763204B0284E20
50274605F435E0CF1704D1B21305DF2293632B21305C00050469637073550D9D
2051A81E0CC0AFBC0403D0B542179E6084E20602746E414D45418B0288130880
41C2A2011000C4963747A302FE226B6421562A188041B9F06C2A20110003596A
756A302FE226B7421C2A2011000944756D6A30284E2050274605F43588041391
50C2A20D000002F666023915084E205027463594A58804139150B8421C2A2011
000C496E656A30284E20602746C494E4548804139150C2A2091000C202374716
274702040239150931409DE36C2A20B000047F607C2A20B000036572739150B9
421C2A201100044963707A302341409DE36D9D20C2A20F0000C696E656023915
084E20602746C494E4548804139150C2A20F000002F6E6C69739150B2130D9D2
0C2A207100016C6C602C696E6563739150B2130BA421C2A2011000C4F636B6A3
02571409DE36C2A20B0000F66666C2A2090000F6E639150BB421F2293B2130F8
20050469637077350D9D202BA81ECE8112040D9D20F6A36CB916DEE3213236F2
1409DE36D9D20FC2E4F3040B213053040AB426858A1BD3708813012270C9B261
12262FA30CB916DEE32F6A36CB916D9D20E3D40DEE32B21301323684E2060274
6C494E454AEC81AB4269FF306C426571409DE36D9D202C23013236C9B2688041
84E2040C436862779B3084E2040077727469512664B30CAF06C9B26880418813
084E2040C43686274C53619C26CB916D9D2084E20400777274684E205034F444
5425B2130B2130D9D20C9B2688041B2130122709242143370F229344230B2130
B21302C10050469637071350D9D202BA81ECE8112040D9D20F6A36CB916D9D20
E3D40DEE32B213013236F21409DE36D9D20FC2E4F3040B213053040AB4260CA3
05714087735CB916D9D209203613236C9B268804184E2040C436862779B3084E
2040077727469512664B30B2130858A18DA16D9D20BD3708813012270C9B2688
0418813084E2040C43686274C536CB916D9D2084E20400777274684E205034F4
445425B2130122709242143370B2130D9D20BD3708813012270C9B2688041122
709242143370B2130F229344230B2130B2130B9100304656C630D9D20E163284
E20602746E414D4541C432D6E201016E1632858A184E205027463594A59C2A23
CE22D5CE1AFE22D9D20C2A2013000024456C6564756023657272756E6470256E
6472797F3803A2485A184E2040D4E4553384E2060765647B6569733920100000
00000012103CE22167E1AFE22D9D2084E207077F627B696E676D6E20101684E2
050274605F4359C2A276BA184E205027463594A5C58C1D6E2010169C2A245632
84E2050274605F43597632AA902C58C1DBBF176BA14563284E20602746E414D4
549763204B02DCC0284E2060274694E49445B21305DF22B21305BF22D9D20C2A
20920003416E647024656C6564756021302F666021384E2030562727B21305DF
224B2A269112EF53293632B2130132005034F444542550D9D20D8A8188041902
368DA1644230D9D203223088041BB726592302A170CA1306365038D30EE170D9
D208813039150B21305E1709FF305923033750B9881B2130B2130590003026F6
4730D9D20E163284E205027463594A54563284E2050274605F43597632DCC029
3632B2130F4000402656C6C640D9D20E16323392030000000000000203392089
900000000000602ABF178BF13F2A20DCF14C5A1F17A14C5A193632B2130D6000
3016464630D9D20E163284E205056D607479784E2050D8564696473392010000
000000005303CE22063C1AFE2284E205096E63727475DF2293632B2130A70006
03686B605142560D9D2051A81F21405573593140557353414055735571405573
584E20602746E414D454612262FA30CB916D9D2079E6084E2040C4354513C2A2
01200094E66716C69646022746E414D45484E2030562727C2A20720000202C7C
5F2C5F2C5F2C702020224162747C2A20720000202C7020202020202C70202023
7169737C2A20720000202C70282F69282F6920202026696E646C2A2072000020
234020202020202F592020202478656C2A2072000020202C702C2F5F5F5C7028
696464656E6C2A2072000020202C7020202F20202D6563737167656C2A205100
00202F2F5F5F5F5C5C2A203300044F6E67247028616675602160236F67702D61
6E61202D7F304095450DEE322C2303158179E6084E20602746E414D45431581B
213084E20602746C494E454E61262FA30CB916D9D209C2A279E6084E20602746
C494E45431581B213084E2050274605F435E61262FA30CB916D9D209C2A279E6
084E2050274605F43531581B213084E20602746E414D454B7650FBD8179E6084
E205027463594A53158184E20502746458545951262FA30CB916D9D20FD55079
E6084E2050274645854531581B213084E20602746C4943545112262FA30CB916
D9D20442309E550B213079E6084E20602746E414D45418B021945379E6084E20
602746C494354531581B21309D300604225F4D49444603392030000000000567
10520006042459445C45460C2A205200025F4C444850243E21302269702A4377
5A30005042651425355047A2084E2030A4357584E20402414254584E2040C435
451384E20602746C494354584E20602746E414D45484E20602746C494E45484E
2050274605F43584E205027463594A584E20502746458545B2130FA000804265
94359424C4548047A2084E205025F4C4448584E20408656C60784E2060374716
47573784E204046164716B213006000704234F4E464947470D9D20119205E600
90770B2130B200050274645854550C2A2050000810005027463594A550339200
0000000000000103200050274605F43550339200000000000000010320006027
46C494E4546033920000000000000001052000602746E414D4546084E2040C43
54513F100000C2A2050000C000040C43545134047A2047A20C2A20720000202C
7C5F2C5F2C5F2C702020224162747C2A20720000202C7020202020202C702020
237169737C2A20720000202C70282F69282F6920202026696E646C2A20720000
20234020202020202F592020202478656C2A2072000020202C702C2F5F5F5C70
28696464656E6C2A2072000020202C7020202F20202D6563737167656C2A2051
0000202F2F5F5F5F5C5C2A203300044F6E67247028616675602160236F67702D
616E61202D7B2130B2130A7100602746C49435456047A2084E2030A4357584E2
0402414254584E2040C4354513B213054000404616471640D9D20E163284E206
02746C494354578BF18B9C1233A23ECB1C2A205000078BF11C432D6E201016D6
E201037D6E201076D6E2010B6E1632858A1C2A20120003556C6563647021602C
6963747A39C2A2485A19C2A2D6E2010370A132D6E201087D6E201016D6E20108
76C7D1D6E2010879C2A276BA1485A1C4232D6E20101684E2060765647B65697D
6BB178BF145632D6E2010B697632DCC0233920100000000000001050FA1D6BB1
9C2A23CE22167E1AFE22D9D20D6E2010B633920100000000000001050FA13ABB
1339201000000000000010EEDA178BF1D6E2010373CE22D5CE1AFE228DBF15BF
22D9D20D6E201016DBBF16C7D145632D6E20107697632DCC02FD332D9D20D6E2
0107668BC1233A23CE22D9AE1AFE22D9D204B2A2933A1B21305DF22D6E201076
82EC1D13A23CE22D9AE1AFE22D9D204B2A2933A1B21305DF22D6E20107604B02
8B9C19C2A23CE22EBBE1AFE22D9D204B2A2933A1B21305DF22B2130F1732D9D2
0C2A201200094E66716C6964602C6963747A302D6E20107676BA184E20305627
27B21305BF22D9D20D6E2010764563284E20602746E414D45497632DCC0284E2
060274694E49445B21305DF22B21305DF22B21305DF224B2A269112EF5329363
2B21302A3006037471647573760D9D20E1632858A13C03284E20504696370735
84E2040D4E4552384E2060765647B65697D6BB11C432D6E201087E1632D8732D
9D20D6E201087339201000000000000110167E18A73284E2060765647C696E65
DF22D6E201087339201000000000000210167E18A732D9D20339201000000000
00033084E20504564C41474B21305DF22339201000000000000310D6E2010871
67E18A732D9D2033920100000000000043084E20504564C41474B21305DF2233
9201000000000000410D6E201087167E18A73284E2040765647075DF22339201
000000000000510D6E201087167E18A73284E2040461647165DF224B2A245632
D6E20108797632DCC02B21305DF22D6E201087EF532DE0324B2A2167E19B6324
B2A26911293632B213084200408656C60740D9D2051A81FC2E4C2A201300025F
4C44485029A021393932302A402755696372696E6B5421C2A2013000E414D454
02F66602C69637470296E6022746C4943545B6421C2A20F2000B202164646025
6E647279702166647562702365727B7421C2A2013000D202F627024454C40246
56C6023657270256E6472797B8421C2A2013000B2F2D202F6270254449445025
64696470256E6472797B9421C2A20D2000A202020247F67676C65602D656E657
02C696E656BA421C2A20D2000F46464D307165737560202D44584D3072796E64
7BB421C2A201300054E44554250247F67676C656024696370702D6F64656F304
092421F2293B21308F1005025F4C4448550D9D20E16324B2A2916C11E1121C43
2D6E201087D6E201066D6E2010D6E16323392010000000000000495D2C1684C1
84E20603686B605142584E2060274694E494453C032339201000000000000230
3CE22313C1AFE224B2A25BF22D9D2084E2040D4E45513D5112683A2B21305DF2
23392010000000000004303CE22063C1AFE22D9D2084E2040D83747B684E2050
4696370713B21305BF22D9D2084E2040D837477384E20504696370773B21305D
F22FD332F17A1F1732F88E15DF2245632D6E20108797632DCC02D8732D9D2047
A203392010000000000015203392010000000000014303392010000000000026
20B2130D6E2010874BAC18A73284E2040072756675DF2247A203392010000000
00001620339201000000000001530339201000000000001630B2130D6E201087
4BAC18A73284E2040E65687475DF2247A2033920100000000000252033920100
0000000002430B2130D6E2010874BAC18A73284E2040072767735DF2247A2033
9201000000000002530339201000000000002630B2130D6E2010874BAC18A732
84E2040E68747735DF2247A20339201000000000003430339201000000000003
520B2130D6E2010874BAC18A73284E203047F6075DF2247A2033920100000000
0003530339201000000000003630B2130D6E2010874BAC18A73284E203026F64
75DF22D6E201087D6BB1339201000000000000570167E18A732D9D2033920100
000000000023084E20504564C41474B21305DF22D6E201087D6BB13392010000
00000000150167E18A732D9D2033920100000000000043084E20504564C41474
B21305DF22D6E201087D6BB1339201000000000000250167E18A73284E204056
4696475DF2247A20339201000000000000450339201000000000000580B2130D
6E201087D6BB14BAC18A73284E20304656C65DF22D6E201087D6BB1339201000
000000000590167E18A73284E20301646465DF22D6E201087339201000000000
003190167E18A73284E2030F666665DF22D6E201087D6BB13392010000000000
00120167E18A73284E2050072796E6475DF22D6E201087D6BB13392010000000
00000110167E18A73284E20406696E6465DF22D6E201087D6BB1339201000000
000000210167E18A73284E20603747164757375DF22D6E201087D6BB13392010
00000000000310167E18A732D9D2084E20408656C607FD332D9D204B2A2F17A1
B2130F1732D9D20B21305DF228DBF1B21305DF22D6E201087D6BB13392010000
00000000410167E18A73284E2040D83747B65DF22D6E201087D6BB1339201000
000000000510167E18A73284E20403747B6D85DF224B2A245632D6E201087976
32DCC02B21305DF22DE032D6E2010874B2A2167E19B63284E2040C6F636B6D6E
201066F76C1D6E2010D669112EF53293632B21304659"
END_ASC
BYTES: #9564h 8148
BEGIN_UU roldx41.uue
begin 644 rldx41
M2%!(4#0X+4*6*E!NC3<````$C7-T-P2=+5"A&$@N8"!'YA345(3D`@5R9%!/`
M4]^.X<-DG2V@SACY/V!,8L(RL&<%NB2&&`,O09#M8S5`L`($O#T0@@5O.L:B.
M8>T^LA(#*S$P"@`$C7-T:P2=+5"A&$@N8"!'YA345(3D`@5R9%!/4]^.X<-D4
MG2V@SACY/V!,8L(RL&<%NB1F:P4[&I9>!2LQL!(#@`!0T%A&ED97T-D"'C8RU
MDP(!``````!0`S,I$````````#90+1S5PC&3`@$``````(`"EA%RN!^XR1%,Z
M(VTN$!#6Y@(!<QXV\CTCG2W0Y@(!86TN$#!G?!U(+D#`-(8F-^PB8>>A[R*=Z
M+3"3`@$``````&`#=,)!92-M+A`PEV<CJ@F"O1\K,5#](G0JL!(#R:+2Y@(!4
M<Z`QTN8"`7@L*O```$QI;F4@;2X0@'>V&FTN$!#6Y@(!>,;7@>0"!8UC;V1E4
M2"X0P.@M*H/'\3TCRB3R<2.=+3`O*F3\P:("'P"0Y`971P<2)O8F1U=&EC,:5
M*S%0^R*=+8#D`@6-8V]D96>KL1(#U2_")",S*1`````````V,.PB$\.A[R*=W
M+8#D`@1,8VAR9ZNQ$@/5+[(2`Q\WTMD",RD0````````-4`G'"PJ4```2"XP:
M4"8GMQ(#U2_B7R,Y-K(2`Z\"4-`X]D965M#9`AXV,I,"`0``````8`,3PS&3:
M`@$``````)`#$\,Q["*#YZ'O(ITM@.0"!'!W<F1(+E`P]$14)+42`]4ODF,C&
M*S%`"0`'=V]R:VEN9P>=+5"A&*PP\2Q.+"I0`@`@("`@("!7;W)K:6YG+BXN_
MBR3Q(CDK,?`%``954&-A<V4&G2W@[!@-0-#9`E=FP-P"@P"`OWD&01=#811DN
M&/G"SHZJ3GUA-`&F7D&:SC`3>^G:,?&=KAX3]VE2,?&?)@P3X&H:A&'!C_K"P
M^-)G$"1AA("\$@,K,;`+``-T;W`#G2W@82/)HD)E(T@N4"!'!O4TE6<CS0R2J
M8R,K,3`$``541DQ!1P6=+>!A(X?[,>PB$\.A[R+5PE'[(G3"4?TB.3:R$@-*1
M`$`P1[?62-#9`AXV0L0?P332Y@(!9!XV,I,"`0``````4`/5PO$](YTM<+@?O
MA_MAN!P=H]*I'BG\@9L<R:+BNQ[#+I*`'OHNTMD"+"KP`@!);G9A;&ED(&]RK
M(&5M<'1Y(&QI<W0YH[$2`]4O@N0"!6EN<W)TV/NQ$@,?-]+9`C,I$```````1
M`#5`)QPL*E```$@N,%`F)T?$'VTN$$"6T!ID_+$2`]4OXE\C.3:R$@-=`6`@4
M1Y;DE$1ET-D"'C:"Y`(%<F103U/)HA+'&U0V@N0"!7)D4$]3>3;2S"!(+F`@T
M1^84U%2$FQR'^T%E(T@N4"!'-I6DE6<CS0R"Y`(%<F103U/CO$%E(T@N4"!'H
M!O4TE6<CS0R28R,K,2`-``1P<G8W!)TMX&$C2"Y0($<&]31U-"HS*1``````N
M```R,#$<9ZN1T!K)HA+'&U0V@N0"!7)D4$]3>3;2S"`Y-K(2`X0`4``GE^9&H
M5]#9`AXV0NH>2"Y`T#A'M[;W',$TTN8"`7,>-G*X'T@N0,`TAB87=AXS*1``T
M```````Y,#$<PRXR>![Z+M+9`MC[T>8"`7/)HI+0&LFB`AHC;2X0@-?F`@%X@
MM?R!Y`($<'=R9$@N4##T1%0D->4>V/MA."J`,[(2`[4OTMD";2X0,)<L*J`Q`
MTN8"`7AM+A"`5\L?4^Z!O1^&HP(X(RLQ4/TB_C628R,K,>`5``1P<F5V!)TMG
MX&$C5#:"Y`(%<F103U-Y-J*:(,FB$L<;5#:"Y`(%<F103U-Y-M+,(#DVLA(#G
M:@`P\&9F-M#9`AXV@N0"!&QO8VL>HX'D`@1B96QL.3:R$@-!`$#@AD=W0]#9A
M`AXV@N0"!7)D4$]31Z,RDP(!```````@`Q/#<;8:9ZN!Y`(%<F1325KCO$%E.
M(T@N4"!'!O4TE6<CS0R28R,K,0`)``1N97AT!)TMX&$C5#:"Y`(%<F103U-Y&
M-D*/($@N4"!'-I6D-<X;5#:"Y`(%<F103U-Y-M+,(#DVLA(#=@!`T.14-4/0,
MV0(>-N*D`A4`4`$```````#@I`(5`(``````````8$$>P332Y@(!8AXVTN8"^
M`6(L*K```%E%4VTN$"!VN!\L*I```$Y/;2X0("8S*H/'X5\C.3:R$@.Y`$#0:
MY%0E0]#9`A6*P:("#P#`E.14]),3!-D^YK$"/P"````5`````!``(!``0!``O
M@/#__Q$`@!``0!``(."Q`C\`@```%0````#PW]_QW[_QWW_Q'P#PWW_QW[_QU
MW]\Q%`39/N:Q`C\`@```%0````#`_P``````_P,`````_`\`````\#_@L0(_W
M`(```!4`````\/__\0/X\?__\0/X\?__\0/X\?__41<$V3[FL0(_`(```!4`Y
M``!@``!@@`%@0`)@0/YC0*("@`%B``!@X+$"/P"````5`````/#_WW'^K[']4
MO[$!W+%=W7'^_?'_W\&B`@T`0!1$%<2B`@T`T!24Y+0"!%E4L!(#$P)`T.144
M%4-`IP(L*M```&9I;F0L*A`!`'-T871U<RPJT```:&5L<"PJT```C7-T:RPJB
MT```<W1KC2PJT```97AI="LQ8`@`!&QO:S\$G2W@82-8J,&B`A4```("`@(".
M`@*"Y`($3&-H<F>K,2\JA*7!H@(?```"`@("`@("PO0VMO:#,"J$I8'D`@1-:
M3E4S2"Y@<%9&MU:6-Y,"`0``````(0'#+B*7'OHNTMD"5#:"Y`($<'=R9'DV*
M@N(<WJ(R["*=ZJ'O(D@N0'!61@=7_2(S*1`````````Y0"<<*S%0^R)(+D#`'
M]C:V5OTB.3:R$@-4`4#`]C:V1M#9`AXV@H4:,RD0````````.5`M''0J@.0"L
M!'!W<F0K,>#O(#DVLA(#70!`P#2&)D?`H@(+`RLH!``5I;G-R=`6=+>!AR
M(T@N8"!'YA345!1,(VTN$!#F82-(+G!P]R:WEN9VUN8"`6')HH+D`@5R9%!/I
M4US(T;L?R:(R>!QGJ]'F`@%A5#:"Y`(%<F103U-Y-D*/($@N4"!'-I6DQ84<+
M9ZM!92-(+F`@1^84U%249R-`"]+,($@N8"!'EN241.5?(SDVLA(#&`%`<%9&;
M!T?0V0(>-C*3`@$``````)`#$\-!92-(+D``=R='EF<C*,[A+2IRZ3%X'D@NT
M0`!W)T?&H@(%`-"I'H/G,>PB^BZ"Y`($;&]C:[4OTMD",RD0````````*&`9T
M(2PJ<`$`4&%S<W=O<F0_="K`H@(%`(#D`@&,*S'P/2/*)/)Q(YTM,+\?+"I0P
M```K,5#](H?[P:("!0`P["*=ZJ'O(ITM0&4C2"Y``'<G1Y9G(\T,,I,"`0```
M````D`-TPK$2`[4OTMD"V/N!Y`($;&]C:RLQ4/TB*S%0_2(Y-K(2`[\!8'!6;
M1L>6YF;0V0(>-H*%&BPJT`$`3&EN92!N=6UB97(_+"IP```QWS.B3"(?-]+9'
M`KW[@;T?*S%0_2)[S_'`&\FB$L<;5#:"Y`(&<F1,24Y%>3;2S"`Y-K(2`[4`G
M8'!61K=6EF?0V0(>-M(5(=\STMD"AJ/R<1HK,?!Q(YTM@+T?M**R$@/5+Y)CQ
M(RLQ``8`!69I;F18!9TM@*88\(X1D0(Q!=#9`N\_X`EA>RZ&Y`(&55!C87-EH
ME3+PIF/^$?96!74[@*UA2P_6V0*E++9G!28NEO\#QB1V/P>L,1`B!YPK%B%B;
M\CK`FV'M/O*F8[P9UMD"/DW0[B,K,8`8`S$RAN0"!G)D3$E.1>J,D?\#QB2F1
M2V*<*X8(%",R4!<$V3[6V0(Q,L:Y8HA`@>0"!$QC:'*7.X#D`@1P=W)D5"$6Z
MR6+8&H;D`@5#3T1%4D0RL!(#1#*`Y`(&55!C87-EPC)@8P6%,\:;89TMT`X%2
M7$>V$@,C,I#_`[%%=LP#O!G6V0(A#Q8B!ZP/]@!D*S%`,P=8,K`2`[^-L1(#*
M*S%0(0`$9FEN9`2=+>!A(T3\,9,"`0``````,`,3PY$L*D@N4"!'!O4TY3\:9
MP332Y@(!9&TN$.#F82/?,]+9`EBHP:("#P!@E.9&ID-E(T@N4"!'1H5%E6<CH
MA_N!XAS>HC+L(IWJH>\BG2W`H@(%`'"X'P[\T<P@*S%0^R)`"U+](D@N$,#H$
M+2J#Q_$](\HD\G$CG2U`*RHYH[$2`]4O<K@?5#:"Y`(%<F146%1Y-M+,("PJ:
M4```PR[2J1[Z+M+9`BPJ,`(`4V5A<F-H:6YG(&QI;F4@2"Y@($?&E.14=+8:3
M+"K0```N+BX*9ZO!H@(/`&`D]]8&<K8:;2X0X':V&BPJT```('1O(&>K@>0"R
M!7)D4TE:9ZN!,"J$I8'D`@9R9$Y!345(+E`@1T:%1=7F`@%N2"Y08);F1H8US
M["*'^Z'O(ITM0&4C2"Y0($<&]3259R/-#+(2`[4OTMD"V/N!A1HL*E`"`%-TB
M<FEN9R!N;W0@9F]U;F1(+C!0)B>W$@/5+[(2`]4OLA(#'S?2V0)$_-'F`@%D;
M":U!QA\L*G`"`%-E87)C:"!T97)M:6YA=&5D2"XP4"8GMQ(#U2_B7R,Y-K(2P
M`WP#,%`F)S?0V0(>-H*%&H?[P:("!0`P[")RZ:'O(ITM@+T?HZ.Q$@/5+Y(L,
M*H2E@>0"!&)E;&PL*E`"`%!R97-S(&%N>2!K97DN+B[>HD)8&D>C0EH:WS/2#
MV0*THO)Q&BLQ\'$CG2V`O1^THK(2`]4O@KT?.3:R$@/M`%!0U@9'EU?0V0(>]
M-I(L*D>C,A`C+"I0``!,,H+D`@1L;VL_,RD0````````.3#L(A/#H>\BG2V`(
MY`($3&-H<ERCLA(#M2]R-"K5+S)X'#DVLA(#I0!`4$:61D?0V0(>-H+D`@2-N
M<W1K2"Y0T%A&ED8WDP(!``````!0`\,N`C8<^B[2V0)(+G!P]R:WEN9V1F4C6
M2"Y@($?F%-14E&<C0`N"Y`(%<F103U,._'%`'2LQ4/TB.3:R$@/%`%!`EC8'V
M-U70V0(5BN'`#/K+0#`-6R1QZ09(+F`@1^84U%04N""(,8`(%"PJ$`$`3&ESJ
M=#H@[R*V1A)EHH$(%)L/QJ("$0`PE:97I@/R+F)[),&B`A$`D$17UJ8#@N0"]
M!7)D4$]3B$`Q&04L*M```"!O9B"348#D`@5R9%-)6HA`,1D%BR3!H@(1`,"41
MYE:F`X+D`@9R9$Q)3D6(0#$9!2PJD`$`+"!S=&%R="!`()-1D!,$V3[&H@(+E
M`$#W!L>B`@L`,%8G-QD%FR3!H@(1`$"4-@>G`S(4!-D^UMD"+"KP``!L:6YEQ
M()-1@.0"!G)D3$E.18A`,1D%+"KP```@;VYL>9-1L!(#G2W`H@(7`!#&Q@;"X
MEN96-C<9!2LQL$H2+"H0`0!,;V-K.B!U09#M8RPJL```;V9F+"J0``!O;I-1D
ML$L2+Y*S$@./`E!`EC8'=U/0V0*RBN'L&"%`T-D";SK&FV'M/A(C8R]!D.UCC
MG2WP+$X_0+`2`S5`H$MB6*BQ/0>(,1`B!YPK%B%B\CK`FV'M/O*F8[P9UMD"<
M/DW0[B,K,1`C8T@N8"!'QI3D5*3.&+HDEO\#QB16%P39/M;9`L(R$"-CG"N&/
M"!1(+D#`-(8F=[D#2"Y``'<G1Y858D8[P/I@G"N&"!2(,8#D`@1,8VARQ#46&
MR6*\&=;9`D@N0`!W)T>&Y`(%0T]$15(K,;`2`YTMP+EBB$"Q$@,A<I!"$C1S6
M\"(Y1#*P$@,K,2`<``5D:7-P,06=+2"K&,Z.$0($G2WPIF.\&=;9`CY-T.XCR
M*S$0(V,O09#M8YTM\"Q./T"P$@,U0*!+8L`Z4!<$>#?%FV&=+9`"8S$RQKEB3
MB$"!Y`($3&-H<I<[@.0"!'!W<F19(6:T`RLQ@(4:V!K6V0+;<X`8`R%RP+EB0
MB$"!&`-(+D#`-(8F1UQCO!G6V0)(+D``=R='AN0"!4-/1$52*S$0(@<I)$$S9
M!RLQT-D"VW.`&`,A<L"Y8HA`$2('*21!,P<K,?`B.40RL!(#*S&P&0`#9&5LT
M`YTMX&$C2"Y@($?F%-14%$PC;2X0$.9A(UBH@>0"!7)D4TE:R:(R[")=[*'O8
M(ITMP*(",0``0E3&5D97!C)6)R=7YD8'4N9&)Y?W@S`JA*6!Y`($34Y5,T@N7
M8'!61K=6EC>3`@$``````"$!PRX2=A[Z+M+9`D@N<'#W)K>6YG;6Y@(!84@NH
M4"!'!O4TE2PJ9ZN!Y`(%<F1325I<R-'F`@%AR:)"92-(+E`@1P;U-)5G(ZH)P
MPH4<O?MQMAI4-H+D`@9R9$Y!345Y-@*T(,T,@N0"!G)D24Y)5"LQ4/TB*S%0U
M^R*=+<"B`BD`,!3F1@="5L961E<&$@/R9@82@^0"`V5R<BLQ4/TBM*)B&2'^.
M-9)C(RLQ$",`!4-/1$52!9TMT*@8B$"1(&/8&D8D`YTM,"(#B$"Q>V*5,B`:T
M!ZPQ8&,%@SW@'@>=+8`8`Y-1L!(#Y7&0_P.5,C!S!9N(L1(#*S%0"0`#8F]TJ
M`YTMX&$C2"Y0($<VE:1%92-(+E`@1P;U-)5G(\T,DF,C*S'P!``$8F5L;`2=!
M+>!A(S,I,````````"`PDP*8"0``````!J+[<;@?\Z("S1_$I?%Q&L2ED6,C_
M*S'0!@`#861D`YTMX&$C2"Y04-8&1Y>'Y`(%C65D:70S*1`````````U,.PB-
M8,.A[R)(+E"0YC8G1U?](CDVLA(#>@!@,(:V!A4D9=#9`A6*\1($53>5$P15K
M-S44!%4W51<$53>%Y`(&<F1.04U%%B(FKP.\&=;9`I=N@.0"!$Q35#$L*A`"3
M`$EN=F%L:60@<F1.04U%2"XP4"8GQZ(")P```L+']<+UPO7"!P("(A0F1\>B?
M`B<```+"!P("`@("P@<"`C(7EC?'H@(G```"P@>"\I:"\I8"`@)BEN9&QJ("9
M)P```C($`@("`@+RE0("`D*'5L:B`B<```("P@?"\O7UQ0>"ED9&5N;&H@(GT
M```"`L('`@+R`@+25C8W%W96QJ("%0```O+R]?7UQ<6B`C,`0/3F=D('@A9FS
M5P82!C+V=@?2%N86`M+W`P195-#N(\(R,%$8EVZ`Y`(&<F1.04U%$X6Q$@-(!
M+F`@1\:4Y%3D%F+R.L";89TMD"PJEVZ`Y`(&<F1,24Y%$X6Q$@-(+E`@1P;U.
M-.468O(ZP)MAG2V0+"J7;H#D`@5R9%!/4Q.%L1(#2"Y@($?F%-14M&<%OXUQ7
MZ09(+E`@1S:5I#51&$@N4"!'1H5%E15B\CK`FV&=+?!=!9=N@.0"!7)D5%A4`
M$X6Q$@-(+F`@1\:4-$45(6+R.L";89TM0"0#Z56P$@.7;H#D`@9R9$Y!346!S
M"Q))-9=N@.0"!G)D3$E35!.%L1(#V0-@0"+UU)1$9#"3`@,`````4'8!)0!@N
M0$*51,549,"B`B4`(/7$1(0%0N,2`R*6!Z(T=Z4#``4D5D%24P5T*H#D`@-*0
M4U=(+D`@%"1%A>0"!$Q35#%(+F`@1\:4-$6%Y`(&<F1.04U%2"Y@($?&E.14-
MA.0"!7)D4$]32"Y0($<VE:2%Y`(%<F146%0K,?`*``@D5DE324),10AT*H#DV
M`@523TQ$6$@N0(!6Q@:'Y`(&<W1A='5S2"Y`0!9&%[82`V``<$`R].1DE'1TD
MT-D"$2E0;@`)=[`2`RL`4"!'1H5%5<"B`@4`@`$`!7)D4TE:!3,I````````Q
M`!`P`@`%<F103U,%,RD`````````$#`"``9R9$Q)3D4&,RD`````````$%`"=
M``9R9$Y!344&2"Y`P#1%%?,!```L*E````P`0,`T115#0*<"="K`H@(G```"Z
MPL?UPO7"]<('`@(B%"9'QZ(")P```L('`@("`@+"!P(",A>6-\>B`B<```+"Q
M!X+REH+RE@("`F*6YD;&H@(G```",@0"`@("`O*5`@("0H=6QJ(")P```@+"B
M!\+R]?7%!X*61D96YL:B`B<```("P@<"`O("`M)6-C<7=E;&H@(5```"\O+UC
M]?7%Q:(",P!`].9V0@>"%F97!A(&,O9V!](6YA8"TK<2`RLQH!<`!G)D3$E3>
M5`9T*H#D`@-*4U=(+D`@%"1%A>0"!$Q35#$K,5`$``1D871A!)TMX&$C2"Y@E
M($?&E#1%=;@?N,DA,RKCO,&B`@4`<+@?P332Y@(!86TN$##7Y@(!9VTN$+#FT
M82-8J,&B`B$`,%7&5C9&!Q(&PI8V1Z>3+"J$I9$L*FTN$#`'&B-M+A"`U^8"E
M`6%M+A"`9WP=;2X0@)<L*F>K05@:3#+2Y@(!84@N8'!61K=6EM>V&X?[064C@
M;2X0L)9G(\T,,I,"`0````````$%K]&V&\FB,NPB8>>A[R*=+=#F`@%K,RD0@
M````````$%#P&J.[,9,"`0````````'NK7&X'VTN$#`W[")=[*'O(MC[4?LB\
MG2W0Y@(!8;W[87P=5#;2Y@(!9WDVTLP@WS/2V0)M+A!P9K@<,J,R["*=ZJ'O:
M(ITM0"LJ.:.Q$@/5+]+F`@%G*,[1,2K#+M*I'OHNTMD"M**2,QHK,5#](FTNN
M$'`&M""XR9$L*L,NXKL>^B[2V0*THI(S&BLQ4/TB*S'P<2.=+<"B`B$`D.1FT
M%\:61@;"EC9'IP/2Y@(!9V>K@>0"`V5R<BLQ4/LBG2W0Y@(!9U0V@N0"!G)D?
M3D%-17DVTLP@2"Y@($>6Y)1$M1(#U2^R$@/5+[(2`]4O0BLJEA'B7R,Y-K(2^
M`Z(#8#!'%T97-V?0V0(>-H*%&L,P@N0"!61I<W!32"Y`T.14)8/D`@9G971K-
M97EMNQ%,(VTN$(#G82.--]+9`FTN$(`WDP(!```````0`6'G@7HC2"Y@<%9&F
MQY;F5OTB;2X0@#>3`@$``````"`!8>>!>B.=+3"3`@$``````#`#2"Y00&7$@
M%'2T$@/5+S*3`@$``````#`!;2X0@!=V'J@WTMD",RD0````````-(#D`@54,
M1DQ!1RLQ4/TB,RD0````````%-#F`@%X8>>!>B-(+D!P5D8'5_TB,RD0````(
M````%=#F`@%X8>>!>B-(+D!`%D875OTBM*)"92-M+A"`EV<CS0RR$@/5+]+F+
M`@%X_C72#B.THA)V'KDV0BLJEA&28R,K,8`D``1H96QP!)TM4*$8S^+$H@(Q!
M`"#UQ$2$!9(*$I.3(P.B!')5EC8GEN:V11(L*A`#`$Y!344@;V8@;&ES="!I?
M;B!R9$Q)4U1K),&B`B\`L`(21D8&4N9&)Y<'$F9&5R8',E8GMT<2+"H0`P`M6
M(&]R($1%3"!D96P@8W5R(&5N=')YBR3!H@(Q`+#RT@+R)@=21)1$!5)&ED8'S
M4N9&)Y>W21(L*M`"`"H@("!T;V=G;&4@;65N=2!L:6YEJR3!H@(M`/!D9-0#S
M%U8W5P8"TD2%U`,GE^9&MTL2+"H0`P!%3E1%4B!T;V=G;&4@9&ES<"!M;V1E(
M/T"00A(ODK,2`_@!4"#UQ$2$5=#9`AXV0BLJ&<81'B'!--+F`@%X;2X08-;F'
M`@%M'C8RDP(!````````E-7"84@<2"Y@,(:V!A4DA>0"!G)D24Y)5,,P,I,"O
M`0``````(`/#+C(Q'/HN0BLJM2_2V0)(+D#0Y%05TQ4AAJ.R$@/5+S*3`@$`]
M`````$`#PRX"-ASZ+M+9`D@N0-`X1[>&Y`(%9&ES<#$K,5#[(ITM@.0"!(US^
M=#=(+E!`EC8'=[,2`]4O\CTC'Z?Q<2./Z%'](E0VTN8"`7AY-M+,((TWTMD";
M="HPDP(!``````!1`C,I$```````$#0PDP(!``````!B`BLQT.8"`7BTRH%ZJ
M(T@N0``G5V97_2)T*C"3`@$``````&$",RD0```````0-3"3`@$``````&$#D
M*S'0Y@(!>+3*@7HC2"Y`X%:&1U?](G0J,),"`0``````4@(S*1```````"`TF
ML!(#;2X0@$>K'*@W@N0"!'!R=C?5+T*G`C,I$```````(#4PDP(!``````!BL
M`RLQT.8"`7BTRH%Z(T@N0."&1W=3_2)T*C"3`@$``````$,#,RD0```````P"
M);`2`VTN$(!'JQRH-X+D`@-T;W#5+T*G`C,I$```````,#4PDP(!``````!CV
M`RLQT.8"`7BTRH%Z(T@N,"#V1E?](FTN$(#7MALS*1````````!U$'8>J#?2G
MV0(S*1`````````R@.0"!51&3$%'*S%0_2)M+A"`U[8;,RD0````````41!V6
M'J@WTMD",RD0````````-(#D`@541DQ!1RLQ4/TB;2X0@->V&S,I$```````N
M`%(0=AZH-X+D`@1E9&ETU2]"IP(S*1````````!4,),"`0``````4`@K,=#FM
M`@%X;;M!JQRH-X+D`@-D96S5+]+F`@%X;;LQDP(!``````!0"6'G@7HC2"XP-
M$$9&5OTB;2X0@#>3`@$``````!,)8>>!>B-(+C#P9F96_2)M+A"`U[8;,RD0'
M````````(1!V'J@W@N0"!7!R:6YTU2_2Y@(!>&V[,9,"`0``````$`%AYX%Z,
M(T@N0&"6YD96_2)M+A"`U[8;,RD0````````$A!V'J@W@N0"!G-T871U<]4O,
MTN8"`7AMNS&3`@$``````#`!8>>!>B.=+8#D`@1H96QPWS/2V0*THO)Q&BLQ;
M\'$CG2VP$@/5+X*]'RLQ4/TB;2X0@->V&S,I$````````!00=AZH-X+D`@2-&
M<W1KU2_2Y@(!>&V[,9,"`0``````4`%AYX%Z(T@N0#!'M]98_2*THD)E(VTNT
M$("79R/-#+(2`]4OT@XC;2X0@$<K*F'GD6LC2"Y`P/8VMM;F`@%F?\;1Y@(!3
+;981XE\C.3:R$@.RJ
``
end
sum -r/size 1518/11446 section (from "begin" to "end")
sum -r/size 14047/8156 entire input file
END_UU